﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Sinacor.OMM.MessageEntity;

namespace Sinacor.OMM.Repository
{
    public interface IRepositoryProvider
    {
        /// <summary>
        /// Envia mensagem para o repositório
        /// </summary>
        /// <param name="message"></param>
        void Put(BaseMessage message);

        /// <summary>
        /// Resgata a mensagem do repositório
        /// </summary>
        /// <returns></returns>
        BaseMessage Get();

        /// <summary>
        /// Retorna a quantidade de mensagens armazenadas no repositório
        /// </summary>
        /// <returns></returns>
        int CountMessage();
    }
}
